home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2001 January / Game.EXE_01_2001.iso / demos / Blade of Darkness / data1.cab / Program_Executable_Files / Lib / Credits.py < prev    next >
Encoding:
Python Source  |  2000-11-16  |  5.5 KB  |  181 lines

  1. import Bladex
  2. import Scorer
  3. import Raster
  4. import BBLib
  5. import BUIx
  6. import Menu
  7.  
  8. StayImage = 8
  9. FadeImage = 3.0
  10. StateImage = 0
  11.  
  12. BitmapsNames = ["../../Data/creditos001.jpg","../../Data/creditos002.jpg","../../Data/creditos003.jpg","../../Data/creditos004.jpg","../../Data/creditos005.jpg","../../Data/creditos006.jpg","../../Data/creditos008.jpg","../../Data/creditos009.jpg","../../Data/creditos010.jpg"]
  13.  
  14. class B_CreditsImageWidget(BUIx.B_RectWidget):
  15.     def __init__(self,Parent,MenuDescr,StackMenu = 0):
  16.         #BitmapsNames = 0,type = 1,r = 255,g = 255,b = 255):
  17.         
  18.         self.BitmapsNames = MenuDescr["ImageList"]
  19.         self.ResX = Raster.GetSize()[0]
  20.         self.ResY = Raster.GetSize()[1]
  21.         self.BitmapsHandler = []
  22.         
  23.         self.StateImage = 0
  24.         self.StayImage = 8
  25.         self.FadeImage = 3
  26.         self.image1 = 0
  27.         self.image2 = 1
  28.         self.Pages = 0
  29.         self.Cache = 0
  30.         self.Fade = 0
  31.         #self.r = r
  32.         #self.g = g
  33.         #self.b = b
  34.         self.StackMenu = StackMenu
  35.  
  36.         for i in BitmapsNames:
  37.             if type == 0:
  38.                 self.BitmapsHandler.append(BBLib.B_BitMap24())
  39.                 self.BitmapsHandler[self.Pages].ReadFromFile(BitmapsNames[self.Pages])
  40.  
  41.             self.Pages = self.Pages + 1
  42.     
  43.         BUIx.B_RectWidget.__init__(self,Parent,MenuDescr["Name"],800,600)
  44.  
  45.         if type:
  46.             self.SetDrawFunc(self.DrawFadeImage)
  47.             Bladex.ReadBitMap(BitmapsNames[0],BitmapsNames[0])
  48.             self.BitmapsHandler.append(Raster.BmpHandle(BitmapsNames[0]))
  49.         else:
  50.             self.SetDrawFunc(self.DrawFadeColor)
  51.  
  52.         self.StateImage = 1
  53.         self.StartImageTime = 0
  54.      
  55.         self.Selected=0
  56.         self.Solid=0
  57.         self.Border=0
  58.         
  59.     def ActivateItem(self,act):
  60.         if act==0:
  61.             w=self.StackMenu.Top()
  62.             try:
  63.                 w.FinalRelease()
  64.             except:
  65.                 pass
  66.             self.StackMenu.Pop()        
  67.  
  68.     def __del__(self):
  69.         print "__del__"
  70.         pass
  71.  
  72.     def DrawFadeColor(self,x,y,time):
  73.         if self.StartImageTime == 0:
  74.             self.StartImageTime = time
  75.  
  76.         stime = time - self.StartImageTime
  77.  
  78.         Raster.SetPosition(x,y)
  79.         Raster.DrawImage(800,600,"RGB","Stretch",self.BitmapsHandler[self.image1].GetData())
  80.  
  81.         if self.StateImage:
  82.             if stime >= self.StayImage:
  83.                 self.StartImageTime = time
  84.                 self.StateImage = 0
  85.                 self.Fade = 0 
  86.         else:
  87.             if self.Fade:
  88.                 alpha = 1.0 - (stime / (self.FadeImage * 0.5))
  89.             else:
  90.                 alpha = stime / (self.FadeImage * 0.5)
  91.  
  92.             if alpha >= 1.0:
  93.                 alpha = 1.0
  94.                 self.StartImageTime = time
  95.                 self.Fade = 1
  96.  
  97.                 self.image1 = self.image1 + 1
  98.  
  99.                 if self.image1 >= self.Pages:
  100.                     self.image1 = 0
  101.  
  102.             if alpha <= 0:
  103.                 alpha = 0
  104.                 self.StartImageTime = time
  105.                 self.StateImage = 1
  106.  
  107.             Raster.SetFillColor(self.r, self.g, self.b)
  108.             Raster.SetAlpha(alpha)
  109.             Raster.SolidRectangle(x, y, self.ResX, self.ResY)
  110.  
  111.         self.DefDraw(x,y,time)
  112.  
  113.     def DrawFadeImage(self,x,y,time):    
  114.         if self.StartImageTime == 0:
  115.             self.StartImageTime = time
  116.  
  117.         x = y = 0
  118.  
  119.         stime = time - self.StartImageTime
  120.  
  121.         if self.StateImage >= 1:
  122.             if self.StateImage == 1:
  123.                 self.StateImage = 2
  124.             elif self.StateImage == 2:
  125.                 Bladex.ReadBitMap(self.BitmapsNames[self.image2],self.BitmapsNames[self.image2])
  126.                 self.BitmapsHandler.append(Raster.BmpHandle(self.BitmapsNames[self.image2]))
  127.                 self.StateImage = 3
  128.  
  129.             Raster.SetPenColor(255,255,255)    
  130.             Raster.SetPosition(x,y)
  131.             Raster.SetAlpha(1.0)
  132.             Raster.DrawBitmap(self.BitmapsHandler[self.image1],self.ResX,self.ResY)
  133.  
  134.             if stime >= self.StayImage:
  135.                 self.StartImageTime = time
  136.                 self.StateImage = 0
  137.             
  138.                 self.alpha = 0
  139.         else:
  140.             #self.alpha = stime / self.FadeImage        
  141.  
  142.             #if self.alpha >= 1.0:
  143.             #    self.alpha = 1.0
  144.             #    self.StateImage = 1
  145.             #    self.StartImageTime = time
  146.             self.StateImage = 1
  147.  
  148.             Raster.SetPenColor(255,255,255)    
  149.             Raster.SetPosition(x,y)
  150.             #Raster.SetAlpha(1.0 - self.alpha)
  151.             Raster.SetAlpha(1.0)
  152.             Raster.DrawBitmap(self.BitmapsHandler[self.image1],self.ResX,self.ResY)
  153.  
  154.             #Raster.SetPenColor(255,255,255)    
  155.             #Raster.SetPosition(x,y)
  156.             #Raster.SetAlpha(self.alpha)
  157.             #Raster.DrawBitmap(self.BitmapsHandler[self.image2],self.ResX,self.ResY)
  158.         
  159.             if self.StateImage:
  160.                 self.image1 = self.image2  
  161.  
  162.                 self.image2 = self.image1 + 1
  163.  
  164.                 if self.image2 >= self.Pages:
  165.                 #if self.image2 >= 2:
  166.                     self.image2 = 0
  167.                     self.Cache = 1
  168.  
  169.  
  170. def NoExitMenu(val):
  171.     return 1
  172.  
  173. def Show(type = 0,r = 255,g = 255,b = 255):
  174.     Menu.ActivateMenu()
  175.     Menu._MainMenu.MenuPrevItem()
  176.     Menu._MainMenu.MenuPrevItem()
  177.     Menu._MainMenu.ActivateMenuItem()
  178.  
  179.     Menu.EscapeFunction = NoExitMenu
  180.  
  181.